import axios from 'axios';

let instance = axios.create({});
instance.interceptors.request.use(config => {
	config.headers['X-Requested-With'] = 'XMLHttpRequest';
	config.headers['Content-Type'] = 'application/json;charset=UTF-8';
	return config;
});
instance.interceptors.response.use(
	data => {
		// 未登录场景需做特殊处理，因此此处不拦截
		return data;
	},
	err => {
		if (err && err.response) {
			switch (err.response.status) {
				case 400:
					err.message = '请求错误';
					break;
				case 401:
					err.message = '未授权，请登录';
					break;
				case 403:
					err.message = '拒绝访问';
					break;
				case 404:
					err.message = `请求地址出错`;
					break;
				case 405:
					err.message = '拒绝访问';
					break;
				case 408:
					err.message = '请求超时';
					break;
				case 500:
					err.message = '服务器内部错误';
					break;
				case 501:
					err.message = '服务未实现';
					break;
				case 502:
					err.message = '网关错误';
					break;
				case 503:
					err.message = '服务不可用';
					break;
				case 504:
					err.message = '网关超时';
					break;
				case 505:
					err.message = 'HTTP版本不受支持';
					break;
				default:
			}
		}
		return Promise.reject(err);
	},
);
export default instance;
